<?php

class Recursos_PermissaoController extends Zend_Controller_Action
{

    public function init()
    {
        /* Initialize action controller here */
    	$this->_mapper = new Recursos_Model_PermissaoMapper();
    	$this->view->messages = $this->_helper->flashMessenger->getMessages();
    }

    public function indexAction()
    {
        // action body
    	$this->view->headTitle()->append('Listar permissões');
    	$this->view->porperfil = _("Listar Por Perfil");
    	$this->view->porrecurso = _("Listar Por Recursos");
    }

    public function byrecursoAction()
    {
        // action body
    	$this->view->headTitle()->append('Editar permissões por Recursos');
    	$permissao = $this->_mapper;        
        $form = new Recursos_Form_Permissao();
        $request = $this->getRequest();
        $page = ($request->getParam("pagina"))? $request->getParam("pagina"): 1;
        
                      
        Zend_View_Helper_PaginationControl::setDefaultViewPartial('paginator.phtml');
        $listpermissao = Zend_Paginator::factory ( $permissao->listPermissao() );
        $listpermissao->setDefaultScrollingStyle('Sliding');
        $listpermissao->setCurrentPageNumber ( $this->_getParam( 'pagina', $page ) )
        ->setItemCountPerPage ( 10 );
        foreach($listpermissao as $item){
        	$subform = new Recursos_Form_PermissaoSub();
        	$subform->setElementRecurso($item['recurso']);
        	$subform->setElementPerfils($item['perfil']);
        	$form->addSubForm($subform, $item['recurso']['id']);
        }
        
        
        $form->setName('Permissaobyrecurso')->setMethod('post')->setAction($this->_helper->url('edit','permissao','recursos',array('pagina'=>$page)));
        $form->setElementSend();
        $this->view->entries = $listpermissao;
        $this->view->form = $form;         
    }

    public function editAction()
    {
    	$request = $this->getRequest();
    	$page = ($request->getParam("pagina"))? $request->getParam("pagina"): 1;
    	
    	if ($this->getRequest()->isPost()) {
    		$formData = $this->_request->getPost();
    		$permissao = new Recursos_Model_Permissao();
    		$this->_mapper->editPermission($permissao, $formData);
    		$this->_helper->flashMessenger->addMessage('Permissões Concluidas');
    		$this->_helper->redirector("byrecurso","permissao","recursos",array("pagina"=>$page));
    	}else{
    	$this->_helper->redirector("index","permissao","recursos",array("pagina"=>$page));
    	}
    }


}





